A collage is a medium of expression where items (such as photographs, paintings, sketches, sculptures, etc.) representing conceptually-related content are positioned in relation to one another to form an expressive piece. To create a collage, an artist selects (or creates) a plurality of these types of items, and arranges such items to form the final expressive piece. It can therefore be ascertained that a conventional collage can include numerous items of different types, where items in the collage may be created by different respective artists.
Relatively recently, applications have been developed that can be employed by end users to create computer-implemented collages. In an example, a user can select numerous objects of different types, arrange such objects on a computer-implemented canvas to form a collage, and subsequently publish (post) the computer-implemented collage for viewing by others. The numerous objects are typically retrieved by the user from different respective network-accessible storage locations. Types of the objects that can be included in a collage comprise digital images, videos, animated images, interactive content (e.g., games), text, etc. The creator of the computer-implemented collage arranges and sizes the objects to create the final piece, which may then be published by the creator (e.g., on a social networking web page).
As indicated above, the created computer-implemented collage can include multiple objects from multiple respective network-accessible source locations. When a client computing device attempts to render the collage on a display screen thereof, the client computing device must open network connections to retrieve the objects from their respective network-accessible locations. The client computing device is then tasked with downsampling the retrieved objects and appropriately arranging the resultant downsampled objects to render the collage on the display screen. This process of opening up several network connections and downsampling objects (images) consumes processing resources of the client computing device and thus, in the case of mobile devices, consumes battery life. Moreover, it is possible that an object in the collage may have been removed from its network-accessible storage location or changed since creation of the collage. Accordingly, the collage may change in a manner not intended by the creator of the collage. Additionally, since the client computing device must fetch content from multiple sources, rendering performance on the client computing device is dependent upon the bandwidth and availability of external networks.
To overcome at least some of these deficiencies, content distribution networks (CDNs) have cached objects used to create a collage to ensure that the content of the collage does not change over time. A CDN can mitigate issues with transient networks, such as when an object included in a collage has not been removed from the web, but is (temporarily) unavailable at a site hosting the object. Without the CDN, multiple requests for the object may be made to the site hosting the object, potentially impacting availability of the site or operational costs of the site. It can be ascertained, however, that a client computing device that accesses the collage must still fetch the objects referenced therein from multiple locations of the CDN to assemble the objects to form the collage.